class Solution
{
public:
    long long maxArrayValue(vector<int> &nums)
    {
        int n = nums.size();
        long long result = nums[n - 1];

        for (int i = n - 1; i >= 1; i--)
        {
            if (result >= nums[i - 1])
            {
                result += nums[i - 1];
            }
            else
            {
                result = nums[i - 1];
            }
        }
        return result;
    }
};